<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of buscadorClass
 *
 * @author Cesar
 */
class buscadorClass {
  
    public function buscarAutor($frase)
    {
        $criteria = new Criteria();
        $criteria->add(DocumentoPeer::AUTOR,'%'.$frase.'%',  Criteria::LIKE);       
        $criteria->addGroupByColumn(DocumentoPeer::AUTOR);
        $lista = DocumentoPeer::doSelect($criteria);
        return $lista;
    }
  
    public function buscarLugar($frase)
    {
        $criteria = new Criteria();
        $criteria->add(DocumentoPeer::LUGAR,'%'.$frase.'%',  Criteria::LIKE);  
        $criteria->addGroupByColumn(DocumentoPeer::LUGAR);
        $lista = DocumentoPeer::doSelect($criteria);
        return $lista;
    }
    
    public function buscarCategoria($frase)
    {
        $criteria = new Criteria();
        $criteria->add(EspecialidadPeer::DESCRIPCION,'%'.$frase.'%',  Criteria::LIKE);
        $criteria->addJoin(DocumentoPeer::ESPECIALIDAD_ID,  EspecialidadPeer::ID);      
        $criteria->addGroupByColumn(DocumentoPeer::DESCRIPCION);
        $lista = DocumentoPeer::doSelect($criteria);
        return $lista;
    }
    
    public function buscarAnio($frase)
    {
        $criteria = new Criteria();
        $criteria->add(DocumentoPeer::ANIO,'%'.$frase.'%',  Criteria::LIKE);  
        $criteria->addGroupByColumn(DocumentoPeer::ANIO);
        $lista = DocumentoPeer::doSelect($criteria);
        return $lista;
    }
    
    public function buscarKeyWord($frase)
    {
        $criteria = new Criteria();
        $criteria->add(DocumentoPeer::KEY_WORD,'%'.$frase.'%',  Criteria::LIKE);  
        $criteria->addGroupByColumn(DocumentoPeer::KEY_WORD);
        $lista    = DocumentoPeer::doSelect($criteria);
        return $lista;
    }
    
    
    
    public function buscar(sfWebRequest $request)
    {
        $palabra   = $request->getParameter('txtBuscar',null);
        $keyWord   = $request->getParameter('hdcriterioKeyWord',null);
        $categoria = $request->getParameter('hdcriterioCategoria',null);
        $autor     = $request->getParameter('hdcriterioAutor',null);
        $lugar     = $request->getParameter('hdcriterioLugar',null);
        $anio      = $request->getParameter('hdcriterioAnio',null);
        
        $criteria = new Criteria();
        
        $criteria->add(DocumentoPeer::RESUMEN_DOCUMENTO, '%'.$palabra.'%',  Criteria::LIKE);
        
        if($keyWord!=null && $keyWord!="")
        {
            $criteria->add(DocumentoPeer::KEY_WORD,'%'.$keyWord.'%',  Criteria::LIKE); 
        }
         
        if($categoria!=null && $categoria!="")
        {
            $criteria->add(EspecialidadPeer::DESCRIPCION,'%'.$categoria.'%',  Criteria::LIKE);
            $criteria->addJoin(DocumentoPeer::ESPECIALIDAD_ID,  EspecialidadPeer::ID);  
        }
        
        if($autor!=null && $autor!="")
        {
            $criteria->add(DocumentoPeer::AUTOR,'%'.$autor.'%',  Criteria::LIKE);      
        }
        
        if($lugar!=null && $lugar!="")
        {
            $criteria->add(DocumentoPeer::LUGAR,'%'.$lugar.'%',  Criteria::LIKE);    
        }
        
        if($anio!=null && $anio!="")
        {
        $criteria->add(DocumentoPeer::ANIO,'%'.$anio.'%',  Criteria::LIKE);   
        }
        
        $lista = DocumentoPeer::doSelect($criteria);
        return $lista;
    }
    
    
}

?>
